11111

COURSE INTRODUCTION AND APPLICATION INFORMATION


se.cs.ieu.edu.tr

Course Name
Code
Semester
Theory
(hour/week)
Application/Lab
(hour/week)
Local Credits
ECTS
Fall/Spring
Prerequisites
None
Course Language
Course Type
Elective
Course Level
-
Mode of Delivery -
Teaching Methods and Techniques of the Course Problem Solving
Course Coordinator -
Course Lecturer(s) -
Assistant(s) -
Course Objectives
Learning Outcomes The students who succeeded in this course;
  • On successful completion of this course, students will be able to:
  • Learn Structure, types, and application areas of distributed systems,
  • Learn infrastructure, software, hardware, languages, and operating system applications for building distributed computing environments,
  • Learn distributed process architectures: clients, servers, threads, code migration,
  • Learn process communication: layered protocols and remote procedure calls; name and identify distributed systems, Distributed process synchronization approaches and algorithms,
  • Distributed applications: Distributed webbased, objectbased, and distributed file systems.
Course Description

 



Course Category

Core Courses
X
Major Area Courses
Supportive Courses
Media and Managment Skills Courses
Transferable Skill Courses

 

WEEKLY SUBJECTS AND RELATED PREPARATION STUDIES

Week Subjects Required Materials
1 Introduction: Definition and types of distributed systrems Distributed Systems Principles and Paradigms Tanenbaum – Ch1
2 Architectures Distributed Systems Principles and Paradigms Tanenbaum – Ch2, pp. 3457
3 Processes Distributed Systems Principles and Paradigms Tanenbaum – Ch3pp. 70110
4 Communication Distributed Systems Principles and Paradigms Tanenbaum – Ch4pp. 116130, 140163
5 Naming Distributed Systems Principles and Paradigms Tanenbaum – Ch5pp. 180222
6 Synchronization Distributed Systems Principles and Paradigms Tanenbaum – Ch6pp. 232269
7 Consistency and Replication Distributed Systems Principles and Paradigms Tanenbaum – Ch7pp. 274315
8 Fault tolerance Distributed Systems Principles and Paradigms Tanenbaum – Ch8pp. 322360
9 MIDTERM EXAM
10 Distributed objectbased systems: Architecture, processes, communication Distributed Systems Principles and Paradigms Tanenbaum – Ch10pp. 443464
11 Distributed objectbased systems: naming, synchronization, consistency and replication, fault tolerance Distributed Systems Principles and Paradigms Tanenbaum – Ch10pp. 466480
12 Distributed file systems Distributed Systems Principles and Paradigms Tanenbaum – Ch11pp. 491,531
13 Distributed webbased systems Distributed Systems Principles and Paradigms Tanenbaum – Ch12, pp.546582
14 Security Distributed Systems Principles and Paradigms Tanenbaum – Ch9, pp. 378434
15 Project Presentations
16 Review of the Semester  
Course Notes/Textbooks Distributed Systems Principles and Paradigms, 2nd Edition, Andrew Tanenbaum© 2007 | Pearson Prentice Hall | ISBN: 013239227
Suggested Readings/Materials Distributed Computing Principles and Applications, M. L. Liu,ISBN10: 0201796449

 

EVALUATION SYSTEM

Semester Activities Number Weigthing
Participation
6
Laboratory / Application
Field Work
Quizzes / Studio Critiques
Portfolio
Homework / Assignments
Presentation / Jury
Project
2
24
Seminar / Workshop
Oral Exam
Midterm
1
30
Final Exam
1
40
Total

Weighting of Semester Activities on the Final Grade
60
Weighting of End-of-Semester Activities on the Final Grade
40
Total

ECTS / WORKLOAD TABLE

Semester Activities Number Duration (Hours) Workload
Course Hours
(Including exam week: 16 x total hours)
16
3
48
Laboratory / Application Hours
(Including exam week: 16 x total hours)
16
Study Hours Out of Class
15
2
Field Work
Quizzes / Studio Critiques
Portfolio
Homework / Assignments
Presentation / Jury
Project
2
10
Seminar / Workshop
Oral Exam
Midterms
1
7
Final Exams
1
15
    Total
120

 

COURSE LEARNING OUTCOMES AND PROGRAM QUALIFICATIONS RELATIONSHIP

#
Program Competencies/Outcomes
* Contribution Level
1
2
3
4
5
1 Be able to define problems in real life by identifying functional and nonfunctional requirements that the software is to execute X
2 Be able to design and analyze software at component, subsystem, and software architecture level
3 Be able to develop software by coding, verifying, doing unit testing and debugging
4 Be able to verify software by testing its behaviour, execution conditions, and expected results
5 Be able to maintain software due to working environment changes, new user demands and the emergence of software errors that occur during operation
6 Be able to monitor and control changes in the software, the integration of software with other software systems, and plan to release software versions systematically
7 To have knowledge in the area of software requirements understanding, process planning, output specification, resource planning, risk management and quality planning
8 Be able to identify, evaluate, measure and manage changes in software development by applying software engineering processes
9 Be able to use various tools and methods to do the software requirements, design, development, testing and maintenance
10 To have knowledge of basic quality metrics, software life cycle processes, software quality, quality model characteristics, and be able to use them to develop, verify and test software
11 To have knowledge in other disciplines that have common boundaries with software engineering such as computer engineering, management, mathematics, project management, quality management, software ergonomics and systems engineering X
12 Be able to grasp software engineering culture and concept of ethics, and have the basic information of applying them in the software engineering
13

Be able to use a foreign language to follow related field publications and communicate with colleagues

X

*1 Lowest, 2 Low, 3 Average, 4 High, 5 Highest

 

İzmir Ekonomi Üniversitesi | Sakarya Caddesi No:156, 35330 Balçova - İZMİR Tel: +90 232 279 25 25 | webmaster@ieu.edu.tr | YBS 2010